package com.jhs.kjs.service;

import java.util.List;
import java.util.Map;

import com.jhs.kjs.dto.CustomerUserDTO;

public interface IDashBoardService {
	public void test();

	/**
	 * 위치정보 활용 동의서
	 * @param user
	 * @throws Exception
	 */
	public void agree(CustomerUserDTO user) throws Exception;

	/**
	 * 전체회사차량
	 * 큐로 관리자는 customerCode에 상관없이 다 나온다.
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public int getTotalCar(CustomerUserDTO user) throws Exception;

	/**
	 * 현재운행차량
	 * 큐로 관리자는 customerCode에 상관없이 다 나온다.
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public int getNowRunCar(CustomerUserDTO user) throws Exception;

	/**
	 * 금일운행거리
	 * 큐로 관리자는 customerCode에 상관없이 다 나온다.
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public int getTodayDistance(CustomerUserDTO user) throws Exception;

	/**
	 * 자신이 속한 customerCode 차량의 모든 코드를 가지고 온다.
	 * 단, qro관리자 즉 authority가 40이면 모든 차량의 코드를 가지고 온다.
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public List<Long> getCarCodes(CustomerUserDTO user) throws Exception;

	/**
	 * 넘겨진 파라미터의 carCode들의 오늘 운행시간을 가지고 온다.
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public List<Long> getDailyTime(Map<String, Object> param) throws Exception;

	/**
	 * 넘겨진 파라미터의 carCode들의 오늘 관심지역 진입 횟수를 가지고 온다.
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public Long getCheckAreaEnterCnt(Map<String, Object> param) throws Exception;
}
